﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Principal;
using System.Web.Security;
using System.ServiceModel;
using System.Diagnostics;
using LiclSeguridad.Views;
using liclUtil;
using com.creditos.be.liclEntities;
using com.creditos.be.liclSeguridad;


public partial class FormsLogin : System.Web.UI.Page, ILiclSeguridad
{
    private LiclSeguridadPresenter oPresenter = new LiclSeguridadPresenter();
    private bool bolValidar = false;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            oPresenter.View = this;
            string[] aUsuarioRed = WindowsIdentity.GetCurrent().Name.ToString().Split('\\');
            Session.Remove("UsuarioActual");
            Session.Clear();
            Session.Abandon();
        }
        oPresenter.View = this;
        Login1.Focus();
    }

    protected void OnAuthenticate(object sender, AuthenticateEventArgs e)
    {
        #region Validar usuario
        try
        {
            UsuarioBE oUsuario = new UsuarioBE();
            oUsuario.CodigoEmpresa = 1;
            oUsuario.CodUsuario = Login1.UserName.Trim();
            oUsuario.Password = Login1.Password;
            oPresenter.onLogear_Acceso(oUsuario);
            if (bolValidar)
            {
                FormsAuthentication.RedirectFromLoginPage(((UsuarioBE)Session["UsuarioActual"]).NombreCompleto, true);
                e.Authenticated = true;
            }
            else
                throw new Exception("Error en el Inicio de Sesión");
        }
        catch (Exception ex)
        {
            Session["ErrorMessage"] = ex.Message;
        }
        #endregion
    }

    #region ILiclSeguridad Members

    public void ValidarAcceso(List<UsuarioBE> lst)
    {
        if (lst != null)
        {
            if (lst.Count > 0)
            {
                if (lst[0].CodUsuario.Trim() == Login1.UserName.Trim())
                {
                    HttpContext.Current.Session["UsuarioActual"] = lst[0];
                    Login1.UserName = lst[0].NombreCompleto;
                    bolValidar = true;
                }
            }
        }
    }

    #endregion

    #region ILiclSeguridad Members


    public void MostrarMensajeError(string Mensaje)
    {
        //ScriptManager.RegisterStartupScript(this, typeof(Page), "Envio", "Alert('Se registro la liquidación Nro.'" + Mensaje) + ");", true);
    }

    #endregion
}
